//
//  NuclideTable.h
//  MacHeliosSim
//
//  Created by Paul Thompson on 8/11/10.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//
/*	This class defines an object which will read nuclear data from a
 *	CSV file, and fill an internal NSMutableArray object with 
 *	Nuclide objects.  Has methods to return the table so that the
 *	entrys can be accessed from outside the class..... maybe.
 */

#import <Cocoa/Cocoa.h>
#import "Nuclide.h"

@interface NuclideTable : NSObject
{
	NSScanner *scanner;
	NSMutableArray *nuclearDataArray;	
}
@property (readwrite,retain) NSScanner *scanner;
@property (readwrite,retain) NSMutableArray *nuclearDataArray;


- (id)initWithDataString:(NSString *)theData;

- (id)fillWithData:(NSString *)theData;

- (BOOL) clearArray;

- (NSString *) elementSymbolForProtonCount:(int) theProtonCount;

- (int) protonCountForElementSymbol:(NSString *)theElementSymbol;

- (Nuclide *) entryForNucleonCount:(int) theNucleonCount
					   ProtonCount:(int) theProtonCount;

- (Nuclide *) entryForNeutronCount:(int) theNeutronCount
					   ProtonCount:(int) theProtonCount;

- (Nuclide *) entryForNucleonCount:(int) theNucleonCount
					  NeutronCount:(int) theNeutronCount;

- (Nuclide *) entryForNeutronCount:(int) theNeutronCount
					 ElementSymbol:(NSString *)theElementSymbol;

- (Nuclide *) entryForNucleonCount:(int) theNucleonCount
					 ElementSymbol:(NSString *)theElementSymbol;

- (BOOL) validate;



@end
